package model

import (
	"time"
)

type PowerModel struct {
	Id         int64     `json:"id" xorm:"pk autoincr comment('auto_increment') BIGINT(20)"`
	ParentId   int64     `json:"parent_id" xorm:"not null default 0 comment('父级权限ID') BIGINT(20)"`
	Type       string    `json:"type" xorm:"not null default '' comment('权限类型 API 接口 MENU 菜单 BUTTON 按钮') VARCHAR(50)"`
	Name       string    `json:"name" xorm:"not null default '' comment('名称') VARCHAR(50)"`
	Code       string    `json:"code" xorm:"not null default '' comment('权限代码') VARCHAR(50)"`
	Level      int       `json:"level" xorm:"not null default 0 comment('级别') INT"`
	Icon       string    `json:"icon" xorm:"not null default '' comment('icon链接') VARCHAR(255)"`
	CreateTime time.Time `json:"create_time" xorm:"not null default '1980-01-01 00:00:00' comment('创建时间') TIMESTAMP"`
}

func (*PowerModel) TableName() string {
	return "power"
}

type PowerNode struct {
	Id       int64        `json:"id"`
	ParentId int64        `json:"parentId"`
	Type     string       `json:"type"`
	Name     string       `json:"name"`
	Code     string       `json:"code"`
	Level    int          `json:"level"`
	Icon     string       `json:"icon"`
	Children []*PowerNode `json:"children"`
}
